iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 7
0
Modern Web

JavaScript 忍者的修練--從下忍進階到中忍系列 第 7

Day 07: this, 函式的背景空間

  • 分享至 

  • xImage
  •  

當函式被呼叫時,會自動生成一個隱含參數this,這個值指的是與函數呼叫相關聯的物件。它通常被稱為函式的背景空間(function context)。

函式的呼叫方式,會影響this的值,有四種方式可以呼叫函式:

  1. 作為函式呼叫
  2. 作為物件的方法呼叫
  3. 作為 constructor function 呼叫
  4. 使用apply, call, bind等函式的方法

作為函式呼叫時,thiswindow
但是在strict mode下,會是undefined.

作為物件的方法呼叫,this是呼叫的物件。

以 constructor function 建立新物件時,要用new呼叫函式,這個時候會發生以下的步驟:

  1. Constructor 會先建立一個新的空物件。
  2. 這個物件會被設為 constructor 的 context,也就是this,傳回 constructor
  3. Constructor 在物件上增加屬性,回傳新建立的物件

(未完待續)


上一篇
Day 06: 函式的 arguments & parameters
下一篇
Day 08: Closure
系列文
JavaScript 忍者的修練--從下忍進階到中忍30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言